An Efficient Logical Clock for Replaying Message-Passing Programs
نویسندگان
چکیده
Cyclic debugging is one of the most important and most commonly used activities in programs development. During cyclic debugging, the program is repeatedly re-executed to track down errors when a failure has been observed. The cyclic debugging approach often fails for parallel programs because parallel programs reveal nondeterministic characteristics due to message race conditions. Execution replay is a technique developed to facilitate the debugging of nondeterministic programs. The trace file can be used to force the replay of the parallel program with the same input. The size of trace file is very important to evaluate the scalability of record&replay scheme. This paper proposes an improved clock system, called 1-n clock. By combining local logic clock and vector clock, 1-n clock can compress the size of trace file. This method especially supports record&replay of long-running parallel programs. Key-Words: Cyclic debugging, record, replay, trace, vector clock, 1-n clock
منابع مشابه
Efficient race detection for message-passing programs with nonblocking sends and receives
This paper presents an algorithm for performing on-they race detection for parallel message-passing programs. The algorithm reads a trace of the communication events in a message-passing parallel program and either nds a speciic race condition or reports that the traced program is race-free. It supports a rich message-passing model, including blocking and non-blocking sends and receives, synchr...
متن کاملTimestamp Synchronization for Event Traces of Large-Scale Message-Passing Applications
Identifying wait states in event traces of message-passing applications requires measuring temporal displacements between concurrent events. In the absence of synchronized hardware clocks, linear interpolation techniques can already account for differences in offset and drift, assuming that the drift of an individual processor is not time dependant. However, inaccuracies and drifts varying in t...
متن کاملScalable timestamp synchronization for event traces of message-passing applications
Event traces are helpful in understanding the performance behavior of message-passing applications since they allow the in-depth analysis of communication and synchronization patterns. However, the absence of synchronized clocks may render the analysis ineffective because inaccurate relative event timings may misrepresent the logical event order and lead to errors when quantifying the impact of...
متن کاملA Multicast Protocol Based on a Single Logical Ring Using a Virtual Token and Logical Clocks
A novel and efficient protocol based on a single logical ring for multicast communication among a group of processes is presented. The senders and receivers are merged in the same group and this peer group reflects a cooperative (mirror) group of information servers. The protocol maintains consistency in the group by using two strategies. First, by placing a total sequence number in each of the...
متن کاملSafe and Efficient Data Sharing for Message-Passing Concurrency
Message passing provides a powerful communication abstraction in both distributed and shared memory environments. It is particularly successful at preventing problems arising from shared state, such as data races, as it avoids sharing in general. Message passing is less effective when concurrent access to large amounts of data is needed, as the overhead of messaging may be prohibitive. In share...
متن کامل